home *** CD-ROM | disk | FTP | other *** search
/ Aminet 23 / Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso / Aminet / misc / emu / amiSPIMsrc.lha / op.h < prev    next >
Text File  |  1994-01-17  |  13KB  |  301 lines

  1. /* SPIM S20 MIPS simulator.
  2.    This file describes the MIPS instructions, the assembler pseudo
  3.    instructions, the assembler pseudo-ops, and the spim commands.
  4.    Copyright (C) 1990-1994 by James Larus (larus@cs.wisc.edu).
  5.    ALL RIGHTS RESERVED.
  6.  
  7.    SPIM is distributed under the following conditions:
  8.  
  9.      You may make copies of SPIM for your own use and modify those copies.
  10.  
  11.      All copies of SPIM must retain my name and copyright notice.
  12.  
  13.      You may not sell SPIM or distributed SPIM in conjunction with a
  14.      commerical product or service without the expressed written consent of
  15.      James Larus.
  16.  
  17.    THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  18.    IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  19.    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  20.    PURPOSE. */
  21.  
  22.  
  23. /* $Header: /home/primost/larus/Software/SPIM/RCS/op.h,v 3.12 1994/01/18 03:21:45 larus Exp larus $
  24. */
  25.  
  26.  
  27. /* Type of each entry: */
  28.  
  29. #define ASM_DIR        0
  30. #define PSEUDO_OP    2
  31.  
  32. #define B0_TYPE_INST    4
  33. #define B1_TYPE_INST    5
  34. #define I1t_TYPE_INST    6
  35. #define I2_TYPE_INST    7
  36. #define B2_TYPE_INST    25
  37. #define I2a_TYPE_INST    8
  38.  
  39. #define R1s_TYPE_INST    9
  40. #define R1d_TYPE_INST    10
  41. #define R2td_TYPE_INST    11
  42. #define R2st_TYPE_INST    12
  43. #define R2ds_TYPE_INST    13
  44. #define R2sh_TYPE_INST    14
  45. #define R3_TYPE_INST    15
  46. #define R3sh_TYPE_INST    16
  47.  
  48. #define FP_I2a_TYPE_INST    17
  49. #define FP_R2ds_TYPE_INST    18
  50. #define FP_R2st_TYPE_INST    19
  51. #define FP_R3_TYPE_INST    20
  52. #define FP_MOV_TYPE_INST 21
  53.  
  54. #define J_TYPE_INST    22
  55. #define CP_TYPE_INST    23
  56. #define NOARG_TYPE_INST 24
  57.  
  58.  
  59. /* Information on each keyword token that can be read by spim.    Must be
  60.    sorted in alphabetical order. */
  61.  
  62. OP (".alias",    Y_ALIAS_DIR,    ASM_DIR,        -1)
  63. OP (".align",    Y_ALIGN_DIR,    ASM_DIR,        -1)
  64. OP (".ascii",    Y_ASCII_DIR,    ASM_DIR,        -1)
  65. OP (".asciiz",    Y_ASCIIZ_DIR,    ASM_DIR,        -1)
  66. OP (".asm0",    Y_ASM0_DIR,    ASM_DIR,        -1)
  67. OP (".bgnb",    Y_BGNB_DIR,    ASM_DIR,        -1)
  68. OP (".byte",    Y_BYTE_DIR,    ASM_DIR,        -1)
  69. OP (".comm",    Y_COMM_DIR,    ASM_DIR,        -1)
  70. OP (".data",    Y_DATA_DIR,    ASM_DIR,        -1)
  71. OP (".double",    Y_DOUBLE_DIR,    ASM_DIR,        -1)
  72. OP (".end",    Y_END_DIR,    ASM_DIR,        -1)
  73. OP (".endb",    Y_ENDB_DIR,    ASM_DIR,        -1)
  74. OP (".endr",    Y_ENDR_DIR,    ASM_DIR,        -1)
  75. OP (".ent",    Y_ENT_DIR,    ASM_DIR,        -1)
  76. OP (".err",    Y_ERR_DIR,    ASM_DIR,        -1)
  77. OP (".extern",    Y_EXTERN_DIR,    ASM_DIR,        -1)
  78. OP (".file",    Y_FILE_DIR,    ASM_DIR,        -1)
  79. OP (".float",    Y_FLOAT_DIR,    ASM_DIR,        -1)
  80. OP (".fmask",    Y_FMASK_DIR,    ASM_DIR,        -1)
  81. OP (".frame",    Y_FRAME_DIR,    ASM_DIR,        -1)
  82. OP (".globl",    Y_GLOBAL_DIR,    ASM_DIR,        -1)
  83. OP (".half",    Y_HALF_DIR,    ASM_DIR,        -1)
  84. OP (".kdata",    Y_K_DATA_DIR,    ASM_DIR,        -1)
  85. OP (".ktext",    Y_K_TEXT_DIR,    ASM_DIR,        -1)
  86. OP (".lab",    Y_LABEL_DIR,    ASM_DIR,        -1)
  87. OP (".lcomm",    Y_LCOMM_DIR,    ASM_DIR,        -1)
  88. OP (".livereg",    Y_LIVEREG_DIR,    ASM_DIR,        -1)
  89. OP (".loc",    Y_LOC_DIR,    ASM_DIR,        -1)
  90. OP (".mask",    Y_MASK_DIR,    ASM_DIR,        -1)
  91. OP (".noalias",    Y_NOALIAS_DIR,    ASM_DIR,        -1)
  92. OP (".option",    Y_OPTIONS_DIR,    ASM_DIR,        -1)
  93. OP (".rdata",    Y_RDATA_DIR,    ASM_DIR,        -1)
  94. OP (".repeat",    Y_REPEAT_DIR,    ASM_DIR,        -1)
  95. OP (".sdata",    Y_SDATA_DIR,    ASM_DIR,        -1)
  96. OP (".set",    Y_SET_DIR,    ASM_DIR,        -1)
  97. OP (".space",    Y_SPACE_DIR,    ASM_DIR,        -1)
  98. OP (".struct",    Y_STRUCT_DIR,    ASM_DIR,        -1)
  99. OP (".text",    Y_TEXT_DIR,    ASM_DIR,        -1)
  100. OP (".verstamp",Y_VERSTAMP_DIR,    ASM_DIR,        -1)
  101. OP (".vreg",    Y_VREG_DIR,    ASM_DIR,        -1)
  102. OP (".word",    Y_WORD_DIR,    ASM_DIR,        -1)
  103. OP ("abs",    Y_ABS_POP,    PSEUDO_OP,        -1)
  104. OP ("abs.d",    Y_ABS_D_OP,    FP_R2ds_TYPE_INST,    0x46200005)
  105. OP ("abs.s",    Y_ABS_S_OP,    FP_R2ds_TYPE_INST,    0x46000005)
  106. OP ("add",    Y_ADD_OP,    R3_TYPE_INST,        0x00000020)
  107. OP ("add.d",    Y_ADD_D_OP,    FP_R3_TYPE_INST,    0x46200000)
  108. OP ("add.s",    Y_ADD_S_OP,    FP_R3_TYPE_INST,    0x46000000)
  109. OP ("addi",    Y_ADDI_OP,    I2_TYPE_INST,        0x20000000)
  110. OP ("addiu",    Y_ADDIU_OP,    I2_TYPE_INST,        0x24000000)
  111. OP ("addu",    Y_ADDU_OP,    R3_TYPE_INST,        0x00000021)
  112. OP ("and",    Y_AND_OP,    R3_TYPE_INST,        0x00000024)
  113. OP ("andi",    Y_ANDI_OP,    I2_TYPE_INST,        0x30000000)
  114. OP ("b",    Y_B_POP,    PSEUDO_OP,        -1)
  115. OP ("bal",    Y_BAL_POP,    PSEUDO_OP,        -1)
  116. OP ("bc0f",    Y_BC0F_OP,    B0_TYPE_INST,        0x41000000)
  117. OP ("bc0t",    Y_BC0T_OP,    B0_TYPE_INST,        0x41010000)
  118. OP ("bc1f",    Y_BC1F_OP,    B0_TYPE_INST,        0x45000000)
  119. OP ("bc1t",    Y_BC1T_OP,    B0_TYPE_INST,        0x45010000)
  120. OP ("bc2f",    Y_BC2F_OP,    B0_TYPE_INST,        0x49000000)
  121. OP ("bc2t",    Y_BC2T_OP,    B0_TYPE_INST,        0x49010000)
  122. OP ("bc3f",    Y_BC3F_OP,    B0_TYPE_INST,        0x4d000000)
  123. OP ("bc3t",    Y_BC3T_OP,    B0_TYPE_INST,        0x4d010000)
  124. OP ("beq",    Y_BEQ_OP,    B2_TYPE_INST,        0x10000000)
  125. OP ("beqz",    Y_BEQZ_POP,    PSEUDO_OP,        -1)
  126. OP ("bge",    Y_BGE_POP,    PSEUDO_OP,        -1)
  127. OP ("bgeu",    Y_BGEU_POP,    PSEUDO_OP,        -1)
  128. OP ("bgez",    Y_BGEZ_OP,    B1_TYPE_INST,        0x04010000)
  129. OP ("bgezal",    Y_BGEZAL_OP,    B1_TYPE_INST,        0x04110000)
  130. OP ("bgt",    Y_BGT_POP,    PSEUDO_OP,        -1)
  131. OP ("bgtu",    Y_BGTU_POP,    PSEUDO_OP,        -1)
  132. OP ("bgtz",    Y_BGTZ_OP,    B1_TYPE_INST,        0x1c000000)
  133. OP ("ble",    Y_BLE_POP,    PSEUDO_OP,        -1)
  134. OP ("bleu",    Y_BLEU_POP,    PSEUDO_OP,        -1)
  135. OP ("blez",    Y_BLEZ_OP,    B1_TYPE_INST,        0x18000000)
  136. OP ("blt",    Y_BLT_POP,    PSEUDO_OP,        -1)
  137. OP ("bltu",    Y_BLTU_POP,    PSEUDO_OP,        -1)
  138. OP ("bltz",    Y_BLTZ_OP,    B1_TYPE_INST,        0x04000000)
  139. OP ("bltzal",    Y_BLTZAL_OP,    B1_TYPE_INST,        0x04100000)
  140. OP ("bne",    Y_BNE_OP,    B2_TYPE_INST,        0x14000000)
  141. OP ("bnez",    Y_BNEZ_POP,    PSEUDO_OP,        -1)
  142. OP ("break",    Y_BREAK_OP,    R1d_TYPE_INST,        0x0000000d)
  143. OP ("c.eq.d",    Y_C_EQ_D_OP,    FP_R2st_TYPE_INST,    0x46200032)
  144. OP ("c.eq.s",    Y_C_EQ_S_OP,    FP_R2st_TYPE_INST,    0x46000032)
  145. OP ("c.f.d",    Y_C_F_D_OP,    FP_R2st_TYPE_INST,    0x46200030)
  146. OP ("c.f.s",    Y_C_F_S_OP,    FP_R2st_TYPE_INST,    0x46000030)
  147. OP ("c.le.d",    Y_C_LE_D_OP,    FP_R2st_TYPE_INST,    0x4620003e)
  148. OP ("c.le.s",    Y_C_LE_S_OP,    FP_R2st_TYPE_INST,    0x4600003e)
  149. OP ("c.lt.d",    Y_C_LT_D_OP,    FP_R2st_TYPE_INST,    0x4620003c)
  150. OP ("c.lt.s",    Y_C_LT_S_OP,    FP_R2st_TYPE_INST,    0x4600003c)
  151. OP ("c.nge.d",    Y_C_NGE_D_OP,    FP_R2st_TYPE_INST,    0x4620003d)
  152. OP ("c.nge.s",    Y_C_NGE_S_OP,    FP_R2st_TYPE_INST,    0x4600003d)
  153. OP ("c.ngl.d",    Y_C_NGL_D_OP,    FP_R2st_TYPE_INST,    0x4620003b)
  154. OP ("c.ngl.s",    Y_C_NGL_S_OP,    FP_R2st_TYPE_INST,    0x4600003b)
  155. OP ("c.ngle.d",    Y_C_NGLE_D_OP,    FP_R2st_TYPE_INST,    0x46200039)
  156. OP ("c.ngle.s",    Y_C_NGLE_S_OP,    FP_R2st_TYPE_INST,    0x46000039)
  157. OP ("c.ngt.d",    Y_C_NGT_D_OP,    FP_R2st_TYPE_INST,    0x4620003f)
  158. OP ("c.ngt.s",    Y_C_NGT_S_OP,    FP_R2st_TYPE_INST,    0x4600003f)
  159. OP ("c.ole.d",    Y_C_OLE_D_OP,    FP_R2st_TYPE_INST,    0x46200036)
  160. OP ("c.ole.s",    Y_C_OLE_S_OP,    FP_R2st_TYPE_INST,    0x46000036)
  161. OP ("c.seq.d",    Y_C_SEQ_D_OP,    FP_R2st_TYPE_INST,    0x4620003a)
  162. OP ("c.seq.s",    Y_C_SEQ_S_OP,    FP_R2st_TYPE_INST,    0x4600003a)
  163. OP ("c.sf.d",    Y_C_SF_D_OP,    FP_R2st_TYPE_INST,    0x46200038)
  164. OP ("c.sf.s",    Y_C_SF_S_OP,    FP_R2st_TYPE_INST,    0x46000038)
  165. OP ("c.ueq.d",    Y_C_UEQ_D_OP,    FP_R2st_TYPE_INST,    0x46200033)
  166. OP ("c.ueq.s",    Y_C_UEQ_S_OP,    FP_R2st_TYPE_INST,    0x46000033)
  167. OP ("c.ule.d",    Y_C_ULE_D_OP,    FP_R2st_TYPE_INST,    0x46200037)
  168. OP ("c.ule.s",    Y_C_ULE_S_OP,    FP_R2st_TYPE_INST,    0x46000037)
  169. OP ("c.un.d",    Y_C_UN_D_OP,    FP_R2st_TYPE_INST,    0x46200031)
  170. OP ("c.un.s",    Y_C_UN_S_OP,    FP_R2st_TYPE_INST,    0x46000031)
  171. OP ("cfc0",    Y_CFC0_OP,    R2td_TYPE_INST,        0x40400000)
  172. OP ("cfc1",    Y_CFC1_OP,    R2td_TYPE_INST,        0x44400000)
  173. OP ("cfc2",    Y_CFC2_OP,    R2td_TYPE_INST,        0x48400000)
  174. OP ("cfc3",    Y_CFC3_OP,    R2td_TYPE_INST,        0x4c400000)
  175. OP ("cop0",    Y_COP0_OP,    J_TYPE_INST,        0x40200000)
  176. OP ("cop1",    Y_COP1_OP,    J_TYPE_INST,        0x44200000)
  177. OP ("cop2",    Y_COP2_OP,    J_TYPE_INST,        0x48200000)
  178. OP ("cop3",    Y_COP3_OP,    J_TYPE_INST,        0x4c200000)
  179. OP ("ctc0",    Y_CTC0_OP,    R2td_TYPE_INST,        0x40c00000)
  180. OP ("ctc1",    Y_CTC1_OP,    R2td_TYPE_INST,        0x44c00000)
  181. OP ("ctc2",    Y_CTC2_OP,    R2td_TYPE_INST,        0x48c00000)
  182. OP ("ctc3",    Y_CTC3_OP,    R2td_TYPE_INST,        0x4cc00000)
  183. OP ("cvt.d.s",    Y_CVT_D_S_OP,    FP_R2ds_TYPE_INST,    0x46000021)
  184. OP ("cvt.d.w",    Y_CVT_D_W_OP,    FP_R2ds_TYPE_INST,    0x46800021)
  185. OP ("cvt.s.d",    Y_CVT_S_D_OP,    FP_R2ds_TYPE_INST,    0x46200020)
  186. OP ("cvt.s.w",    Y_CVT_S_W_OP,    FP_R2ds_TYPE_INST,    0x46800020)
  187. OP ("cvt.w.d",    Y_CVT_W_D_OP,    FP_R2ds_TYPE_INST,    0x46200024)
  188. OP ("cvt.w.s",    Y_CVT_W_S_OP,    FP_R2ds_TYPE_INST,    0x46000024)
  189. OP ("div",    Y_DIV_OP,    R2st_TYPE_INST,        0x0000001a)
  190. OP ("div.d",    Y_DIV_D_OP,    FP_R3_TYPE_INST,    0x46200003)
  191. OP ("div.s",    Y_DIV_S_OP,    FP_R3_TYPE_INST,    0x46000003)
  192. OP ("divu",    Y_DIVU_OP,    R2st_TYPE_INST,        0x0000001b)
  193. OP ("j",    Y_J_OP,        J_TYPE_INST,        0x08000000)
  194. OP ("jal",    Y_JAL_OP,    J_TYPE_INST,        0x0c000000)
  195. OP ("jalr",    Y_JALR_OP,    R2ds_TYPE_INST,        0x00000009)
  196. OP ("jr",    Y_JR_OP,    R1s_TYPE_INST,        0x00000008)
  197. OP ("l.d",    Y_L_D_POP,    PSEUDO_OP,        -1)
  198. OP ("l.s",    Y_L_S_POP,    PSEUDO_OP,        -1)
  199. OP ("la",    Y_LA_POP,    PSEUDO_OP,        -1)
  200. OP ("lb",    Y_LB_OP,    I2a_TYPE_INST,        0x80000000)
  201. OP ("lbu",    Y_LBU_OP,    I2a_TYPE_INST,        0x90000000)
  202. OP ("ld",    Y_LD_POP,    PSEUDO_OP,        -1)
  203. OP ("lh",    Y_LH_OP,    I2a_TYPE_INST,        0x84000000)
  204. OP ("lhu",    Y_LHU_OP,    I2a_TYPE_INST,        0x94000000)
  205. OP ("li",    Y_LI_POP,    PSEUDO_OP,        -1)
  206. OP ("li.d",    Y_LI_D_POP,    PSEUDO_OP,        -1)
  207. OP ("li.s",    Y_LI_S_POP,    PSEUDO_OP,        -1)
  208. OP ("lui",    Y_LUI_OP,    I1t_TYPE_INST,        0x3c000000)
  209. OP ("lw",    Y_LW_OP,    I2a_TYPE_INST,        0x8c000000)
  210. OP ("lwc0",    Y_LWC0_OP,    I2a_TYPE_INST,        0xc0000000)
  211. OP ("lwc1",    Y_LWC1_OP,    FP_I2a_TYPE_INST,    0xc4000000)
  212. OP ("lwc2",    Y_LWC2_OP,    I2a_TYPE_INST,        0xc8000000)
  213. OP ("lwc3",    Y_LWC3_OP,    I2a_TYPE_INST,        0xcc000000)
  214. OP ("lwl",    Y_LWL_OP,    I2a_TYPE_INST,        0x88000000)
  215. OP ("lwr",    Y_LWR_OP,    I2a_TYPE_INST,        0x98000000)
  216. OP ("mfc0",    Y_MFC0_OP,    CP_TYPE_INST,        0x40000000)
  217. OP ("mfc1",    Y_MFC1_OP,    CP_TYPE_INST,        0x44000000)
  218. OP ("mfc1.d",    Y_MFC1_D_POP,    PSEUDO_OP,        -1)
  219. OP ("mfc1.s",    Y_MFC1_OP,    CP_TYPE_INST,        0x44000000)
  220. OP ("mfc2",    Y_MFC2_OP,    CP_TYPE_INST,        0x48000000)
  221. OP ("mfc3",    Y_MFC3_OP,    CP_TYPE_INST,        0x4c000000)
  222. OP ("mfhi",    Y_MFHI_OP,    R1d_TYPE_INST,        0x00000010)
  223. OP ("mflo",    Y_MFLO_OP,    R1d_TYPE_INST,        0x00000012)
  224. OP ("mov.d",    Y_MOV_D_OP,    FP_MOV_TYPE_INST,    0x46200006)
  225. OP ("mov.s",    Y_MOV_S_OP,    FP_MOV_TYPE_INST,    0x46000006)
  226. OP ("move",    Y_MOVE_POP,    PSEUDO_OP,        -1)
  227. OP ("mtc0",    Y_MTC0_OP,    CP_TYPE_INST,        0x40800000)
  228. OP ("mtc1",    Y_MTC1_OP,    CP_TYPE_INST,        0x44800000)
  229. OP ("mtc1.d",    Y_MTC1_D_POP,    PSEUDO_OP,        -1)
  230. OP ("mtc2",    Y_MTC2_OP,    CP_TYPE_INST,        0x48800000)
  231. OP ("mtc3",    Y_MTC3_OP,    CP_TYPE_INST,        0x4c800000)
  232. OP ("mthi",    Y_MTHI_OP,    R1s_TYPE_INST,        0x00000011)
  233. OP ("mtlo",    Y_MTLO_OP,    R1s_TYPE_INST,        0x00000013)
  234. OP ("mul",    Y_MUL_POP,    PSEUDO_OP,        -1)
  235. OP ("mul.d",    Y_MUL_D_OP,    FP_R3_TYPE_INST,    0x46200002)
  236. OP ("mul.s",    Y_MUL_S_OP,    FP_R3_TYPE_INST,    0x46000002)
  237. OP ("mulo",    Y_MULO_POP,    PSEUDO_OP,        -1)
  238. OP ("mulou",    Y_MULOU_POP,    PSEUDO_OP,        -1)
  239. OP ("mult",    Y_MULT_OP,    R2st_TYPE_INST,        0x00000018)
  240. OP ("multu",    Y_MULTU_OP,    R2st_TYPE_INST,        0x00000019)
  241. OP ("neg",    Y_NEG_POP,    PSEUDO_OP,        -1)
  242. OP ("neg.d",    Y_NEG_D_OP,    FP_R2ds_TYPE_INST,    0x46200007)
  243. OP ("neg.s",    Y_NEG_S_OP,    FP_R2ds_TYPE_INST,    0x46000007)
  244. OP ("negu",    Y_NEGU_POP,    PSEUDO_OP,        -1)
  245. OP ("nop",    Y_NOP_POP,    PSEUDO_OP,        -1)
  246. OP ("nor",    Y_NOR_OP,    R3_TYPE_INST,        0x00000027)
  247. OP ("not",    Y_NOT_POP,    PSEUDO_OP,        -1)
  248. OP ("or",    Y_OR_OP,    R3_TYPE_INST,        0x00000025)
  249. OP ("ori",    Y_ORI_OP,    I2_TYPE_INST,        0x34000000)
  250. OP ("rem",    Y_REM_POP,    PSEUDO_OP,        -1)
  251. OP ("remu",    Y_REMU_POP,    PSEUDO_OP,        -1)
  252. OP ("rfe",    Y_RFE_OP,    NOARG_TYPE_INST,    0x42000010)
  253. OP ("rol",    Y_ROL_POP,    PSEUDO_OP,        -1)
  254. OP ("ror",    Y_ROR_POP,    PSEUDO_OP,        -1)
  255. OP ("s.d",    Y_S_D_POP,    PSEUDO_OP,        -1)
  256. OP ("s.s",    Y_S_S_POP,    PSEUDO_OP,        -1)
  257. OP ("sb",    Y_SB_OP,    I2a_TYPE_INST,        0xa0000000)
  258. OP ("sd",    Y_SD_POP,    PSEUDO_OP,        -1)
  259. OP ("seq",    Y_SEQ_POP,    PSEUDO_OP,        -1)
  260. OP ("sge",    Y_SGE_POP,    PSEUDO_OP,        -1)
  261. OP ("sgeu",    Y_SGEU_POP,    PSEUDO_OP,        -1)
  262. OP ("sgt",    Y_SGT_POP,    PSEUDO_OP,        -1)
  263. OP ("sgtu",    Y_SGTU_POP,    PSEUDO_OP,        -1)
  264. OP ("sh",    Y_SH_OP,    I2a_TYPE_INST,        0xa4000000)
  265. OP ("sle",    Y_SLE_POP,    PSEUDO_OP,        -1)
  266. OP ("sleu",    Y_SLEU_POP,    PSEUDO_OP,        -1)
  267. OP ("sll",    Y_SLL_OP,    R2sh_TYPE_INST,        0x00000000)
  268. OP ("sllv",    Y_SLLV_OP,    R3_TYPE_INST,        0x00000004)
  269. OP ("slt",    Y_SLT_OP,    R3_TYPE_INST,        0x0000002a)
  270. OP ("slti",    Y_SLTI_OP,    I2_TYPE_INST,        0x28000000)
  271. OP ("sltiu",    Y_SLTIU_OP,    I2_TYPE_INST,        0x2c000000)
  272. OP ("sltu",    Y_SLTU_OP,    R3_TYPE_INST,        0x0000002b)
  273. OP ("sne",    Y_SNE_POP,    PSEUDO_OP,        -1)
  274. OP ("sra",    Y_SRA_OP,    R2sh_TYPE_INST,        0x00000003)
  275. OP ("srav",    Y_SRAV_OP,    R3sh_TYPE_INST,        0x00000007)
  276. OP ("srl",    Y_SRL_OP,    R2sh_TYPE_INST,        0x00000002)
  277. OP ("srlv",    Y_SRLV_OP,    R3sh_TYPE_INST,        0x00000006)
  278. OP ("sub",    Y_SUB_OP,    R3_TYPE_INST,        0x00000022)
  279. OP ("sub.d",    Y_SUB_D_OP,    FP_R3_TYPE_INST,    0x46200001)
  280. OP ("sub.s",    Y_SUB_S_OP,    FP_R3_TYPE_INST,    0x46000001)
  281. OP ("subu",    Y_SUBU_OP,    R3_TYPE_INST,        0x00000023)
  282. OP ("sw",    Y_SW_OP,    I2a_TYPE_INST,        0xac000000)
  283. OP ("swc0",    Y_SWC0_OP,    I2a_TYPE_INST,        0xe0000000)
  284. OP ("swc1",    Y_SWC1_OP,    FP_I2a_TYPE_INST,    0xe4000000)
  285. OP ("swc2",    Y_SWC2_OP,    I2a_TYPE_INST,        0xe8000000)
  286. OP ("swc3",    Y_SWC3_OP,    I2a_TYPE_INST,        0xec000000)
  287. OP ("swl",    Y_SWL_OP,    I2a_TYPE_INST,        0xa8000000)
  288. OP ("swr",    Y_SWR_OP,    I2a_TYPE_INST,        0xb8000000)
  289. OP ("syscall",    Y_SYSCALL_OP,    NOARG_TYPE_INST,    0x0000000c)
  290. OP ("tlbp",    Y_TLBP_OP,    NOARG_TYPE_INST,    0x42000008)
  291. OP ("tlbr",    Y_TLBR_OP,    NOARG_TYPE_INST,    0x42000001)
  292. OP ("tlbwi",    Y_TLBWI_OP,    NOARG_TYPE_INST,    0x42000002)
  293. OP ("tlbwr",    Y_TLBWR_OP,    NOARG_TYPE_INST,    0x42000006)
  294. OP ("ulh",    Y_ULH_POP,    PSEUDO_OP,        -1)
  295. OP ("ulhu",    Y_ULHU_POP,    PSEUDO_OP,        -1)
  296. OP ("ulw",    Y_ULW_POP,    PSEUDO_OP,        -1)
  297. OP ("ush",    Y_USH_POP,    PSEUDO_OP,        -1)
  298. OP ("usw",    Y_USW_POP,    PSEUDO_OP,        -1)
  299. OP ("xor",    Y_XOR_OP,    R3_TYPE_INST,        0x00000026)
  300. OP ("xori",    Y_XORI_OP,    I2_TYPE_INST,        0x38000000)
  301.